package com.smedi.ismedi.progress.core.domain.repository;


import com.smedi.ismedi.progress.core.application.command.ProgressDetailCommand;
import com.smedi.ismedi.progress.core.application.command.ProgressViewCommand;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressDetail;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressKanbanDetails;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressView;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProjectScheduleDetail;

import java.util.List;

/**
 * @author Cookie
 * @date 2022/09/16
 */
public interface ProgressViewRepository {

    ProgressView scheduleViewAndApproval(ProgressViewCommand progressViewCommand);

    void removeProgressPojectVersion(ProgressViewCommand progressViewCommand);

    ProgressDetail scheduleDetails(ProgressDetailCommand progressDetailCommand);

    ProgressDetail keywordDetails(ProgressDetailCommand progressDetailCommand);

    ProgressKanbanDetails progressKanbanDDetails(ProgressDetailCommand progressDetailCommand);

    List<ProjectScheduleDetail> scheduleDetailsByAPP(ProgressDetailCommand progressDetailCommand);

}
